home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / pascal / gnoom.com / PIXEL.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1990-12-16  |  1.2 KB  |  48 lines

  1. uses Dos,Crt,Graph;
  2. var Im:array[1..3,0..43,0..38]of byte;
  3.     i,j,k:integer;
  4.     cols,rows:byte;
  5.     c:char;
  6.     gd,gm:integer;
  7.     page:integer;
  8.     f:file of char;
  9.     buf:pointer;
  10.  
  11. procedure Draw(x,y,n:integer);
  12.   var a,b:integer;
  13.   begin
  14.     for a:=0 to cols do for b:=0 to rows do
  15.       if Im[n,a,b]>0 then PutPixel(x+a,y+b,Im[n,a,b]);
  16.   end;
  17.  
  18. begin
  19.   Assign(f,'girl.gnm');
  20.   reset(f);
  21.   Read(f,c);Read(f,c);cols:=ord(c)-1;Read(f,c);rows:=ord(c)-1;
  22.   for i:=1 to 3 do for k:=0 to rows do for j:=0 to cols do
  23.     begin
  24.     read(f,c);Im[i,j,k]:=ord(c);
  25.     end;
  26.   close(f);
  27.   gd:=EGA;Gm:=EgaLo;
  28.   InitGraph(gd,gm,'');if GraphResult<>GrOk then Halt(1);
  29.   GetMem(buf,ImageSize(1,1,Cols,Rows));
  30.   GetImage(1,1,Cols,Rows,buf^);
  31.   for page:=0 to 1 do
  32.     begin
  33.     SetVisualPage(1-page);SetActivePage(page);
  34.     SetFillStyle(SolidFill,Blue);Bar(50,20,590,180);
  35.     SetFillStyle(SolidFill,Green);Bar(100,40,540,160);
  36.     SetFillStyle(SolidFill,Black);Bar(150,60,490,140);
  37.     end;
  38.   i:=600;page:=0;j:=1;
  39.   repeat
  40.   SetVisualPage(page);SetActivePage(1-page);
  41.   PutImage(i+5,81,buf^,NormalPut);
  42.   GetImage(i,81,i+cols,81+rows,buf^);
  43.   Draw(i,81,j);
  44.   page:=1-page;i:=i-5;j:=j+1;if j>3 then j:=1;
  45.   until i<=0;
  46. readln;closegraph;
  47. end.
  48.